查看原文
其他

Go2Mars Research | 比特币NFT?Ordinals协议与BRC -20

Go2Mars Research GO2MARS的WEB3研究 2023-05-10

4月29日,比特币已供应1935.79万个,释放占总供应量的92.18%,占全球总市值的45.81%,仍是加密市场的半壁江山。近期brc -20出现更使社区内对比特币的讨论增加:

Ordinals协议:一种在比特币区块链上创造和交易非同质化代币(NFT)的技术,它允许用户在一个聪(比特币的最小单位)上刻入数据,从而生成一个Ordinal。  

BRC-20协议:一种利用Ordinals协议在比特币区块链上创造和交易同质化代币(FT)的技术,它使用JSON数据来部署代币合约、铸造代币和转移代币。

在对这部分的讨论中,反对者将其斥之为“骗局”、“美元时代的黄金衍生品”,而支持者称之为“brc -20是加密代币协议继以太坊ERC20/REC721后的重大创新”。

那么究竟什么是brc -20,什么是比特币NFT呢,针对这一近期出现的新兴概念,让Go2Mars Research来带你一探究竟。

奠定基础:比特币的两次协议升级

比特币的总量是2100万枚,其最小单位是 satoshis(聪),1 BTC=1 亿satoshis,即一个比特币可以被细分成一亿个satoshis,但并不能再细分了。每一个比特币都是没有区别的,完全同质化。

那为什么会出现所谓的比特币NFT,这就要从比特币的软分叉说起。自2008年中本聪发布以来,比特币的运行方式有过多次调整更新,既有永久性分叉的硬分叉,也有向前兼容的软分叉,比特币每隔段时间就会进行一次网络软分叉,通过改进提案对其进行更新。

https://github.com/bitcoin/bips比特币社区提案

其中2017年实现 Segwit(隔离见证)升级就是比特币的扩容方案之一,在隔离见证的方案中,通过将签名数据存储在相关区块之外,即将区块记录中的签名数据剥离,但仍保证可以对其进行验证,使得比特币在保持交易的完整性的同时,将更多交易打包到任意一个单独区块中,从而扩大比特币区块中的有效容量,提升交易速度,Segwit在之后的最大作用是放宽了对签名大小的限制,帮助扩大了比特币的信息规模。

隔离交易与非隔离交易原理对比图

在2021年实现的软分叉Taproot升级中包含了3个BIP,分别是Schnorr签名、Taproot、Tapscript,其目的在于提高比特币网络的交易隐私以及效率,解决安全问题。

Schnorr签名是一种数字签名算法,由Claus Schnorr提出,它能够将多个签名聚合成一个,从而提高效率和隐私。 

Taproot是一种利用梅克尔抽象语法树(MAST)技术,将复杂的交易隐藏在普通的公钥下,从而提高效率和隐私的方案 。 

Tapscript是一种新的脚本语言,用于编写Taproot中的条件分支逻辑,它对Schnorr签名进行了优化,并增加了一些新的操作码 。

该次升级的核心在于Schnorr签名,基于签名算法可以为比特币带来更多的性能和更好的实用场景。比特币区块大小限制在1MB以内,但其因为可以将额外数据添加到比特币网络区块包含的每笔交易中,使得每个区块最多可存储4MB 的数据量。在这两次升级中促近了Ordinals协议 和 brc-20 代币在比特币上的到来。Taproot升级降低了交易成本、增强隐私,使比特币具有灵活性,并使得闪电网络上的交易更便宜、更灵活、更私密。

Taproot迭代时间轴

②创新尝试:Ordinals协议

2023年初,比特币核心贡献者Casey Rodarmor 发布了 Ordinals 协议,也正是该协议理论让比特币NFT的实现成为了可能。

在序数理论中为比特币的最小单位satoshis分配了序列号,赋予它们个体身份,按照开采顺序对每个从进行编号从而使其获得了可分配内容的ID,这些satoshis被允许追踪、转移并赋予意义,因而具有了非同质化的特性。序数理论不需要比特币之外的侧链或代币,并且可以在不对比特币网络进行任何更改的情况下使用。

https://ordinals.com/

Ordinals 协议中允许satoshis中附加各种形式的内容(图片、视频等文件都可以),即单个 satoshis 可以刻有任意内容,创建独特的比特币原生数字工件,可以保存在比特币钱包中并使用比特币交易进行传输。铭文与比特币本身一样持久、不变、安全和去中心化。

Inscription(铭刻)的过程即是将这种上传的数据和某一特定的satoshis进行对应绑定,通过将要铭刻的satoshis发送到交易中来完成的铭刻行为。在这个行为中类似以太坊上进行的NFT mint过程,形成该类比特币NFT,可以对该satoshis进行特定的追踪、转移、储存、购买、售卖,独一无二并且具有数量上限。

因为其按照开采顺序先后进行为satoshis分配的特定编号,使得即便是上传相同内容,也会形成序列号并不相同的个体。当然,这和基于以太坊的ERC-721标准的NFT功能上还是有很多的不同, Casey也强调了Ordinals 协议并非NFT协议。

继续探索:brc-20的试验

brc -20是由@domodata在Ordinals协议的基础上提出的比特币实验性可替代代币标准,当然,在其声明中也直接声明了“这是一个有趣的实验标准”。brc-20 代币标准利用 Ordinal 铭文来部署代币合约、铸造代币和转移代币

在上文中我们知道,在每一个satoshis上附加任意的信息产生了非同质化代币的特征,但ERC-20其实是为了发符合标准的同质化代币,所以在 Ordinals 协议上的brc-20使得规范性的产出了同质化代币。

这样生成的第一个币即ORDI,总量是2100万,按照链上确认时间的先后进行mint。就这样,Ordinals协议+brc-20实现了基于Bitcoin主网的资产发行与记账。对了,ordi的单价在本文写作时超过了1 美元。

实时数据可以在https://brc-20.io/上查询

根据@domodata发布的文章《brc-20的基本设计和原理》,可以看出其通过实验尝试序数理论是否可以促进实现比特币的新用例,附在以下:

设想

●  使用 deploy 函数创建一个 brc-20

●  使用 mint 函数铸造一定数量的 brc-20

●  使用传递函数传递一定数量的 brc-20

而BRC-20 余额状态可以通过将所有这些函数的活动聚合在一起来计算得出。

●   部署初始化的brc-20,不影响整体状态

●   铸造函数仅向铸造每一张铭文的第一个所有者提供余额

●   只有在转移函数的第一次转移时,才会从发送者的余额中扣除,并将其添加到接收者的余额中。

运行

取得余额

你可以部署自己的brc-20或者从现有部署中去铸造

1.(可选:仅当你想创建自己的brc-20 时才这样做。如果不是,请转到第 2 步)使用所需的 brc-20 参数集将部署功能写入您的Ordinals兼容钱包。

2.将 mint 函数写入你的Ordinals兼容钱包。确保brc-20代码匹配。

(a) 你在步骤 1 中部署的 brc-20。

(b) 任何尚未达到其完全稀释供应的brc-20。此外,如果 brc-20 有铸造限制,请确保不要超过此限制。

转移余额

1.将转账铭文铭刻到你的Ordinals兼容钱包。刻录前请确保传递函数刻录信息有效。

2.收到铭文后,(如果有效)将铭文发送到所需的目的地址以转移余额。

何时有效

转移余额需要有效的转移函数。有效性可以通过以下方式确定:

①有效的传递函数是铭文中写入的数量不超过的地址中可用余额的时候。

②可用余额:[整体余额] - [钱包中的转移铭文(可转让余额)]。如果一个地址没有可转移铭文,可用余额和整体余额是相等的。

③例:钱包里有一个整体余额1000 个“ordi” 。然后,持有人铭刻了一张可转移铭文额度为 700“ordi”。一旦铭文得到确认,以下内容为真:整体余额= 1000,可用余额= 300,可转让余额= 700。如果用户再尝试写入 500“ordi”的转移铭文,这将无效,因为可以写入的最大金额只有300了(可用余额)。

④如果在同一个块中记录了多个传递函数,则有效性由块中确认的顺序决定。

其它

如果用户改变主意,不再希望转移他们的可转让余额(已刻出来的可以转移铭文),并希望恢复他们的可转让余额到整体余额, 用户必须将传递函数铭文使用钱包发送给自己。

(左)发送方向接收方转移 700“ordi”,(右)通过转给自己700“ordi”恢复整体余额。红色标记的铭文表示按照转移格式新铸造的铭文。

小结

目前,比特币NFT相对于以太坊NFT来说,没有内容丢失风险、合约风险且铸造成本更低。毕竟从根本来看,这是一种基于比特币主网的资产发行行为,这种行为可以扩展区块链的应用场景,但同时在一定程度上会挤占本就不富裕的比特币网络存储空间。不论最后是否具有价值,从Ordinals协议和brc-20,都让我们看到了比特币创新的空间。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存